A brushless motor typically includes a permanent magnet assembled with a rotor and with a stator containing a certain number of windings (typically three) in a star or polygon (for example delta or triangle) connection.
Typically, the windings are driven by suitable half-bridges, one for each winding, and each one including two bipolar or MOS transistors. In FIG. 1, a circuit is shown which includes a brushless motor 1 with three windings 2–4 in a star connection and half-bridges 5–7 adapted to drive the respective windings 2–4. Each one of the half-bridges 5–7 includes two MOS transistors. More precisely, the half-bridges 5–7 include transistor pairs M1–M2, M3–M4, M5–M6. Transistors M1–M6 are driven by circuitry 10 and supplied by a voltage Vdd through a further MOS transistor M7 driven by circuitry 20 to open or close the supply path of transistors M1–M6. A resistance Rsense is arranged between the transistors M2, M4 and M6 and ground.
In the brushless motor, the current flowing through each winding is controlled because the torque is directly linked to this parameter; the control of the current is therefore necessary for optimal driving of the motor.
A known method for controlling the current provides for the driving of the MOS transistors M1–M6 so that the currents flowing through the windings 2–4 flow through the resistance Rsense. The voltage detected at the terminals of the resistance Rsense has a pseudo-sinusoidal modulation, that is a modulation with positive sinusoid arcs. Said voltage at the terminals of the resistance Rsense is filtered by low pass filter 11 and the output voltage signal is compared with a reference signal Vref, as shown by a dashed line in FIG. 1. In this way, a less precise control occurs because the average of the voltage that is at the terminals of the resistance Rsense is compared with the reference voltage.
What is desired, therefore, is a more precise control method and apparatus than provided by the prior art method and apparatus described above.